object Form7: TForm7
  Left = 830
  Top = 234
  BorderStyle = bsDialog
  Caption = 'Step 6'
  ClientHeight = 250
  ClientWidth = 571
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  Position = poOwnerFormCenter
  OnClose = FormClose
  OnCloseQuery = FormCloseQuery
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 8
    Top = 216
    Width = 18
    Height = 13
    Caption = '100'
  end
  object Label2: TLabel
    Left = 96
    Top = 215
    Width = 6
    Height = 13
    Caption = '3'
    Visible = False
  end
  object SpeedButton1: TSpeedButton
    Left = 544
    Top = 232
    Width = 25
    Height = 17
    Caption = 'Skip'
    Flat = True
    OnClick = SpeedButton1Click
  end
  object Memo1: TMemo
    Left = 0
    Top = 0
    Width = 571
    Height = 185
    Align = alTop
    Color = clBtnFace
    Lines.Strings = (
      
        'In the previous step I explained how to use the Code finder to h' +
        'andle changing locations. But that method alone '
      
        'makes it difficult to find the address to set the values you wan' +
        't.'
      'That'#39's why there are pointers:'
      ''
      
        'At the bottom you'#39'll find 2 buttons. One will change the value, ' +
        'and the other changes the value AND the location of '
      'the value.'
      
        'For this step you don'#39't really need to know assembler, but it he' +
        'lps a lot if you do.'
      ''
      
        'First find the address of the value. When you'#39've found it use th' +
        'e function to find out what accesses this address.'
      
        'Change the value again, and a item will show in the list. Double' +
        ' click that item. (or select and click on more info) and '
      
        'a new window will open with detailed information on what happene' +
        'd when the instruction ran.'
      
        'If the assembler instruction doesn'#39't have anything between a '#39'['#39 +
        ' and '#39']'#39' then use another item in the list.'
      
        'If it does it will say what it think will be the value of the po' +
        'inter you need.'
      
        'Go back to the main cheat engine window (you can keep this extra' +
        ' info window open if you want, but if you close it, '
      
        'remember what is between the [ and ] ) and do a 4 byte scan in h' +
        'exadecimal for the value the extra info told you.'
      
        'When done scanning it may return 1 or a few hundred addresses. M' +
        'ost of the time the address you need will be the '
      
        'smallest one. Now click on manually add and select the pointer c' +
        'heckbox.'
      ''
      
        'The window will change and allow you to type in the address of a' +
        ' pointer and a offset.'
      'Fill in as address the address you just found.'
      
        'If the assembler instruction has a calculation (e.g: [esi+12]) a' +
        't the end then type the value in that'#39's at the end. else '
      
        'leave it 0. If it was a more complicated instruction look at the' +
        ' calculation.'
      ''
      'example of a more complicated instruction:'
      '[EAX*2+EDX+00000310] eax=4C and edx=00801234.'
      
        'In this case EDX would be the value the pointer has, and EAX*2+0' +
        '0000310 the offset, so the offset you'#39'd fill in '
      
        'would be 2*4C+00000310=3A8.  (this is all in hex, use cal.exe fr' +
        'om windows in scientific mode to calculate)'
      ''
      
        'Back to the tutorial, click OK and the address will be added, If' +
        ' all went right the address will show P->xxxxxxx, with '
      
        'xxxxxxx being the address of the value you found. If thats not r' +
        'ight, you'#39've done something wrong.'
      
        'Now, change the value using the pointer you added in 5000 and fr' +
        'eeze it. Then click Change pointer, and if all went '
      'right the next button will become visible.'
      ''
      ''
      'extra:'
      
        'And you could also use the pointer scanner to find the pointer t' +
        'o this address')
    ReadOnly = True
    ScrollBars = ssVertical
    TabOrder = 0
  end
  object Button2: TButton
    Left = 248
    Top = 192
    Width = 75
    Height = 25
    Caption = 'Next'
    Enabled = False
    TabOrder = 1
    OnClick = Button2Click
  end
  object Button1: TButton
    Left = 8
    Top = 228
    Width = 81
    Height = 19
    Caption = 'Change value'
    TabOrder = 2
    OnClick = Button1Click
  end
  object Button3: TButton
    Left = 93
    Top = 228
    Width = 81
    Height = 19
    Caption = 'Change pointer'
    TabOrder = 3
    OnClick = Button3Click
  end
end
